home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Saar AMOK 2
/
Saar AMOK II - Oktober 1994 (1994)(Kreativ Marketing)(DE)[!][I-7598].iso
/
disks
/
651_700
/
677
/
bootscreen
/
bootscreen.doc
next >
Wrap
Text File
|
1994-02-11
|
20KB
|
443 lines
BOOTSCREEN
~~~~~~~~~~
Startup screen program for Amigas with Workbench Release 2.04 or higher.
Copyright ©1994 by Joseph Luk. All rights reserved.
----------------------------------------------------------- MAIN DOCUMENTATION
$VER: 2.1 (2/11/94)
UNREGISTERED VERSION
Introduction
~~~~~~~~~~~~
Some time ago, I downloaded a cute little utility called "BootPic" (no
'K' at the end). This addessed the fact that under OS 2.0 and greater, you
are treated to a blank screen until the Workbench comes up -- very boring and
annoying in that you can't confirm whether or not you're going through a
normal boot sequence. Correcting the problem, "BootPic" displayed a mock
"Windows" startup screen until the Workbench came up. The only problem was
that this screen was hard-coded in the program, and the extra-tall PAL screen
and incorrect version number couldn't be corrected. The author said
that he would probably not add IFF support in the future.
Enter BootScreen. My program is smaller, loads an IFF picture, and
also supports AGA 24-bit palettes.
Features
~~~~~~~~
* Highly user-friendly. Package provides Install scripts for operations
beyond installation. Configuration is standardized and extremely
easy to use.
* Takes advantage of advanced hardware and software (full AGA support).
* Highly efficient boot-time operation for maximum speed.
* Maximum flexibility of monitor and screen mode selection.
Requirements
~~~~~~~~~~~~
* Amiga with Workbench 2.04 (V37 intuition and graphics library) or better
installed. Note that previous versions of BootScreen failed under 2.04;
this was a bug and is now fixed.
* Hard disk highly recommended.
Running the program
~~~~~~~~~~~~~~~~~~~
Several extremely friendly install scripts are provided. They are for
Commodore's standard Installer program, which comes on your system disks.
You must have the Installer in one of the path directories (C: is the
recommended location). The scripts provide extensive on-line help which
I spent much time writing, and it would be to your advantage to read the
help texts.
For first-time installations, simply run the "Install" script. Don't
worry about what will happen if you don't like the program, since the
"Remove" script will quickly and easily get rid of all the things "Install"
has set up.
If you are upgrading from an older version of BootScreen, run the
"Upgrade" script. It will remove old files so that you can perform the
regular installation.
The "Remove" script completely undoes all changes made by "Install",
except by default it does not remove iff.library. I recommend that you keep
this library installed anyway, since many programs use it.
Go ahead and fire up the Install script! When you've got that done,
the only noticable change in your system will be a new Preferences editor
in the Prefs drawer: BootScreen.
Editor Usage
~~~~~~~~~~~~
The BootScreen Preferences Editor supports the standard interface that
all the other editors use. The one exception is that it does not currently
support preset files, but the settings aren't very complex so there's little
need for them. Most of the menu choices should be familiar to anyone who
has used the standard system Preferences editors.
To specify which picture you want to display at startup, either type the
name in the string gadget, or click on the "GetFile" gadget to its left.
That will bring up a standard system requester and allow you to select the
picture.
The other gadgets' functions are as follows:
MONITOR
Under Workbench 3.0 and above, many people use the "mode promotion"
feature. This does not become active until midway through the startup,
meaning at the beginning, screens will always be displayed in the
default mode, NTSC in America and PAL in Europe. However, when
mode promotion becomes active, screens that have not been specifically
opened in NTSC or PAL get promoted.
It is easy to see the effect this produces by selecting a DEFAULT
monitor, saving, and re-booting. If you have mode promotion turned
on, midway through the startup the screen will re-sync to the higher
mode. You can avoid this by selecing the appropriate default
monitor (NTSC or PAL). Then, your startup screen will not be promoted
because it is actually requesting a specific monitor.
I personally keep Monitor set on DEFAULT because I don't mind the
re-syncing, and feel that the scan-doubled image looks a lot better.
It's a personal preference, and I left the choice up to you.
The Monitor setting has no noticable effect under Workbench 2.x, which
does not support mode promotion.
Position Effect
-----------------------------------------------------------------------
DEFAULT System chooses best monitor. Can cause re-syncing if mode
promotion is turned on.
NTSC Program requests NTSC monitor. Will fail if unavailable.
PAL Program requests PAL monitor. Will fail if unavailable.
BYPASS Program requests whatever monitor the picture was saved with.
This *can* allow you to use DblPAL, Super72, etc with your
startup screen pictures. Read the technical article on
"Alternate Modes and Early Monitor Loading" for more
information. This setting is not recommended for normal
use.
CENTER PICTURE?
This tells BootScreen to automatically center the picture on the
display. It allows you to save file space and boot time by
using brushes rather than full pictures for your startup screens.
If BootScreen's centering is not to your liking, you can always
disable it and center your graphic manually within your paint program.
SAVE
Sáves the current configuration. Note that the configuration is
saved into the icon's ToolTypes. I figured that you've probably got
a cluttered enough hard disk already, and another confiuration file
is only going to be a pain. The only downside to the method of
using the icon as a config file is that you must not delete the icon,
and you cannot use the ToolTypes for your own stuff (e.g., "Icon by"
texts or parenthesized comments).
TEST
Displays the picture. If screen centering is on, some of the Workbench
may be shown in the back. This is normal; in actual use, the picture
will be centered on its own background. Click in the picture to
finish viewing.
CANCEL
Quits without saving changes.
That's all you need to know to use BootScreen! Once again, please note
that BootScreen 2.1 is now ShareWare, and you are required by law to send
in a donation of at least $5 if you use the program beyond the one-month
trial period. I'm not trying to make money off you, I'm trying to recoup
the expenses of coding up this project. And I'm trying to meet minor
expenses; I'm a high school student who stayed up a little later each
night after homework to work on this project. Cheap groveling: please
reward me for my efforts.
The remainder of this document will be devoted to technical articles about
how the BootScreen system works, and what changes you are and are not allowed
to make. Trust me, you can live a happy, full life without reading it. :>
The Files
~~~~~~~~~
There is a large array of programs in this archive, most of which are
custom-coded for the Install scripts. Only three programs actually
comprise the BootScreen system:
bin/c/BootScreen Main BootScreen program. This what is loaded at
boot-time and displays the picture.
bin/c/BootScreenClose This is the so-called "close daemon" which performs
the task of closing down the startup screen when
it is no longer needed.
bin/Prefs/BootScreen Preferences editor.
Why So Many?
~~~~~~~~~~~~
This is the question that's probably burning in your mind: "Why the heck
is he using a 'close daemon'?" I could easily compile BootScreen to
automatically stay resident until it needs to close its screen, but I
didn't. Why? The main reason is that I wanted to fully optimize your
boot time. If I used the method of staying resident (equivalent to the
old way BootScreen was run, with RUN >NIL:), the program would immediately
quit and the startup-sequence would continue onto the next command. That
sounds great, but there is a problem. While BootScreen is loading its
IFF picture, the startup-sequence would be loading the next command. This
simultaneous tug-of-war for the disk drive causes DOS to shuffle the head
back and forth supplying the startup-sequence and BootScreen with little
bits of the files they want at a time. As a consequence, most of the
time is simply wasted with the head moving from place to place, rather
than reading data. Not only that, it really causes unncessecary wear
and tear on your hard disk head servos.
Enter the solution. Instead of returning control to the startup-sequence
immediately, BootScreen loads the IFF picture, then it launches a seperate
program responsible for closing the screen. Only after that is finished,
does it allow the startup-sequence to continue. The speed gains may
be negligible for small pictures, but if you try displaying a HAM8
picture you'll immediately see the advantage -- as well as hear it; hard
disk heads make noise when they seek!
The only real disadvantage with this setup is that you've got an extra
program on your hard disk. I believe this is not a problem, but you must
remember never to run the BootScreenClose daemon yourself. At the
current time, its only function is to get a lock on the frontmost
screen, and wait until it is shoved to the back, at which time it closes
it. Needless to say, this can cause disastrous results if you try it
on your Workbench screen. BootScreen will automatically run the close
daemon on its own, so you will never have to (and should never) touch it.
Ideally, I'd like to make the close daemon internal to BootScreen, so
that the danger of accidental execution won't exist. However, I tried
for several agonizing weeks to get my program to spawn a new task and
then quit, without having its cleanup code deallocate the task. There's
probably some way to do it, and I'd appreciate any hints anyone can
give me in that direction (here's a hint from me, cback.o is not a
solution).
Mode Selection
~~~~~~~~~~~~~~
As mentioned before, the only monitor available when you boot up is
your default montor, NTSC for American machines and PAL for European
ones. This means that trying to open a screen at boot-time that
is for another monitor, such as Super72 or DblNTSC, will always fail.
To avoid this problem, BootScreen automatically thows away the upper
16 bits of the picture's DisplayID -- the monitor specification,
and replaces it with NTSC, PAL, or nothing, depending on your selection
of the MONITOR gadget.
I mentioned this just so you'll understand why sometimes your pictures
come out distorted or in the wrong resolution. Saving the pictures
in NTSC or PAL will help ensure that the resolution that they're
displayed in at boot time will be the same as the one they're saved
in.
The Install Procedure
~~~~~~~~~~~~~~~~~~~~~
Wouldn't it be nice if all programs had three Install scripts for
Install, Remove (UnInstall), and Upgrade?
Anyway, I wrote several programs which handle the task of kneading
s:startup-sequence for various purposes. I'm sure they could be
more easily written in ARexx, so if anyone's interested, let me know!
Here's basically what the Install script does. If you choose to do
the installation yourself, you will need to duplicate these
operations.
* Copy bin/c/BootScreen to C:
* Copy bin/c/BootScreenClose to C:
* Copy SampleScreens to SYS:Prefs/Presets ALL
* Copy bin/Prefs/BootScreen to SYS:Prefs
* Install proper icon for Preferences Editor (MagicWB, STD, etc)
* Edit s:startup-sequence. It searches for a line that is not
a comment and contains the string "SetPatch", and appends after
that:
; BootScreen ©1994 by Joseph Luk
BootScreen
Of all of these operations, probably the only one you will ever have
to mess with is the startup-sequence modification. If you have
things like multiple-startup pickers that should come before BootScreen,
or a non-standard startup where the SetPatch line may not be present,
you can move the BootScreen command elsewhere in the script. Make sure
to retain the comment, as other scripts depend on that to locate the
modification.
If the Install script could not find a line in your startup-sequence
that had SetPatch in it, it will add the BootScreen modification at the
end of the file. Obviously this is not acceptable, and you should move
the lines to a proper location. What are you doing with a startup-sequence
that doesn't have SetPatch??
Alternate Modes and Early Monitor Loading
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: This procedure will only work under Workbench 2.1 or greater. 2.04
uses script files to load its monitors, a radically different
approach from what is given here. This will be mainly useful for
owners of AGA/3.0 systems anyway.
Under normal use, BootScreen is restricted to NTSC or PAL monitors because
those are the only ones available at the early time that BootScreen is
usually run. However, it is possible to load a "monitor" (the software
file that resides in DEVS:Monitors -- the driver) earlier than normal,
allowing BootScreen to use exotic modes. To facilitate this I have
included the "BYPASS" option as of version 2.1; its function will be
covered in detail shortly.
The key to loading monitors early lies in understanding that the "monitor"
driver is actually an executable program. This means you can run them from
a CLI, a script file, or even your startup-sequence. All you need to do
in order to load a monitor "before its time" is issue a command such as
this one, before the BootScreen line in your startup-sequence:
RUN >NIL: DEVS:Monitors/DblNTSC
This will load the monitor, and its modes will be available for programs
to use.
There is a very important disadvantage to doing this, which you should
understand before proceeding. Under Workbench 3.1 (this also applies to
Workbench 3.0 users who have installed the Commodore 3.1 [A1942] kit
available from Aminet), Overscan preferences allows you to center the
screen on the display using the arrows. By loading a monitor early, before
IPrefs, you invalidate that feature. If the default centering is fine for
you anyway, then you have nothing to worry about; else, you might want to
consider using the FreeWare utility MonEd to edit your monitor drivers.
Then screen centering will be determined by the drivers themselves, rather
than IPrefs. Theoretically this should solve your problems (you must
also make sure to reset Overscan preferences when you're done); however,
I have not tried the procedure.
If you would still like to try out those exotic modes, all you need to do
is insert the appropriate monitor command before the BootScreen line, then
choose the "BYPASS" monitor option in BootScreen Preferences. "BYPASS"
will cause BootScreen to request the monitor ID contained in the picture
(as opposed to DEFAULT, where BootScreen discards the ID). That means
if you save the picture out of DPaint in a DblNTSC mode, for example,
you'll get a DblNTSC boot screen, provided you have loaded DblNTSC monitor
driver first. Same applies for DblPAL, Super72, etc.
Sometimes it's not always convenient to edit your IFF files and such
just to change the monitor. I'm planning a utility that will easily allow
you to edit the monitor IDs contained in your pictures; this will probably
be provided in the registered package (no guarantees, however -- this
depends on how much schoolwork I get over the next couple of weeks). Just
another incentive to register. ;>
Final Words
~~~~~~~~~~~
I hate to keep banging you over the head with this, but this is my
first ShareWare release and I'd like for it to be a rewarding experience..
Contacting Me
~~~~~~~~~~~~~
I love getting mail! You don't have to be a registered user to report bugs or
send a postcard! :>
Joseph Luk
Internet: jluk@ctp.org
GEnie: J.LUK
S-mail: P.O. Box 884401, San Francisco, CA 94188-4401 U.S.A.
REGISTRATION
~~~~~~~~~~~~
When you register, you will receive a disk containing the latest version
of BootScreen, and it will be a personalized version just for you. Also on
the disk will be as many sample pictures as will fit, and perhaps a utility
or two that might be relevant to BootScreen.
The registration levels are as follows:
$5 Basic registration. This is a small amount of money!!! This
covers the registered version of the disk and U.S. postage
ONLY. For International orders, add $5 U.S. to any order.
$10 Uprgade registration. Will get you upgrade notices in the
mail for one year and significant discounts on upgrades. Will
also get you my personal approval as well as notices for other
products by myself. :>
$11+ If you choose to send additional cash or other gifts (even
a postcard will be cherished), we can arrange specific rewards.
I might even consider that 020 version. :>
To register, fill out the following form and mail it to me, along with
a check or money order made out for the amount you wish to donate.
BOOTSCREEN 2.1 REGISTRATION
Date _________________
Full name ________________________________________________________________
Address __________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Telephone # ______________________
E-mail address(es) _______________________________________________________
_______________________________________________________
Registration Amount ________
Check if International postage required [ ] + $5.00
Total Amount Sent ________
--
Mail to:
Joseph Luk
P.O. Box 884401
San Francisco, CA 94188-4401
U.S.A.
Your disk will be mailed within four weeks. You may check with me via
e-mail as to the status of your order, if you so choose.
THANK YOU!!!!